const app = getApp()
const api = require('../../utils/api')
const util = require('../../utils/util')

Page({

  /**
   * 页面的初始数据
   */
  data: {
    reportList: [],
    detail: null,
    loading: false,
    currentPage: 1,
    hasMore: true
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {
    // 设置导航栏标题
    wx.setNavigationBarTitle({
      title: '鉴别报告查询'
    })
    
    // 检查是否传入了报告ID，如果有则直接查看详情
    if (options.id) {
      this.viewReportDetail({ currentTarget: { dataset: { id: options.id } } })
    } else {
      this.loadReportList()
    }
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {
    // 如果没有查看详情，则刷新列表
    if (!this.data.detail) {
      this.loadReportList()
    }
  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {
    this.setData({
      currentPage: 1,
      hasMore: true,
      reportList: []
    })
    this.loadReportList(() => {
      wx.stopPullDownRefresh()
    })
  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {
    if (this.data.hasMore && !this.data.loading && !this.data.detail) {
      this.loadMoreReports()
    }
  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {

  },
  
  // 加载报告列表
  loadReportList(callback) {
    if (this.data.loading) return
    
    this.setData({ loading: true })
    
    api.receipt.getVerifyRecords().then(res => {
      this.setData({
        reportList: res.data.list || [],
        hasMore: (res.data.list || []).length === 10,
        currentPage: 1,
        loading: false
      })
      
      if (callback && typeof callback === 'function') {
        callback()
      }
    }).catch(err => {
      this.setData({ loading: false })
      util.showToast('加载失败，请重试')
      console.error(err)
      
      if (callback && typeof callback === 'function') {
        callback()
      }
    })
  },
  
  // 加载更多报告
  loadMoreReports() {
    // 在静态原型中，我们不需要加载更多，直接返回
    return
  },
  
  // 查看报告详情
  viewReportDetail(e) {
    const { id } = e.currentTarget.dataset
    
    this.setData({ loading: true })
    
    api.receipt.getVerifyReport(id).then(res => {
      this.setData({
        detail: res.data,
        loading: false
      })
    }).catch(err => {
      this.setData({ loading: false })
      util.showToast('加载详情失败')
      console.error(err)
    })
  },
  
  // 返回列表
  backToList() {
    this.setData({ detail: null })
  },
  
  // 前往上传页面
  goToUpload() {
    wx.navigateTo({
      url: '/pages/receipt/upload'
    })
  },
  
  // 预览图片
  previewImage(e) {
    const { index } = e.currentTarget.dataset
    const { images } = this.data.detail
    
    if (!images || images.length === 0) {
      util.showToast('暂无图片可预览')
      return
    }
    
    // 由于是静态原型，我们可能没有实际的图片，这里只是模拟预览行为
    wx.showToast({
      title: '图片预览功能',
      icon: 'none',
      duration: 1500
    })
  },
  
  // 下载报告
  downloadReport() {
    wx.showLoading({
      title: '下载中...',
      mask: true
    })
    
    // 模拟下载过程
    setTimeout(() => {
      wx.hideLoading()
      wx.showToast({
        title: '下载成功',
        icon: 'success',
        duration: 1500
      })
    }, 1500)
  },
  
  // 格式化日期
  formatDate(date) {
    if (!date) return '--'
    return util.formatDate(date, 'YYYY-MM-DD HH:mm')
  }
}) 